Variational track management

ABSTRACT

Systems and methods are provided for tracking moving objects from a set of measurements. An estimate of a posterior probability distribution for a plurality of track states is determined from an estimate of the posterior probability distribution for a plurality of possible assignments of the set of measurements to a set of tracks representing trajectories of the plurality of moving objects and the set of measurements. A new estimate of the posterior probability distribution for the assignments is determined from the measurements and the estimate of a posterior probability distribution for the track states. A variational lower bound is determined from the new estimate of the posterior probability distribution for the assignments, the estimate of the posterior probability distribution for the track states, and the set of measurements. These steps are iteratively repeated until the variational lower bound is less than a threshold value.

BACKGROUND OF THE INVENTION

Field of the Invention

The invention relates generally to object tracking, and more specifically, to the use of variational track management in tracking moving objects.

Background of the Invention

Object tracking is the use of measurements of position, velocity, acceleration, and other kinematic parameters, to obtain an accurate determination of the positions of one or more moving objects. The field of object tracking is broad and possesses many applications, particularly in radar/sonar, robotics, and computer vision. When tracing an object, a system constructs a track that estimates the trajectory of the object over time. Where multiple objects are tracked, object tracking generally involves three steps. The first step is a data assignment process, in which various measurements are matched to existing tracks. This matching can often be supplemented by non-kinematic features of the plurality of moving objects, such as a radar cross-section in radar, or a color or shape in visual spectrum tracking, to more easily distinguish among the moving objects when the kinematic data is ambiguous. A second step is a filtering process, in which the assigned data is used to update the positions of the various objects to reduce or eliminate measurement error. Finally, a track management component utilizes various heuristics to remove or add tracks as needed due to clutter, or spurious measurements, or objects arriving in or leaving a region of interest. While there will be communication among the components performing these three functions, they generally act substantially independently.

SUMMARY OF THE INVENTION

In accordance with an aspect of the present invention, a method is provided for tracking moving objects from a set of measurements provided by an associated sensor system. An estimate of a posterior probability distribution for a plurality of track states is determined from an estimate of the posterior probability distribution for a plurality of possible assignments of the set of measurements to a set of tracks representing trajectories of the plurality of moving objects and the set of measurements. A new estimate of the posterior probability distribution for the plurality of possible assignments of the set of measurements to the set of tracks is determined from the set of measurements and the estimate of a posterior probability distribution for a plurality of track states. A variational lower bound, representing a lower bound for the marginal probability of the set of measurements given a model defined by the new estimate of the posterior probability distribution and the estimate of a posterior probability distribution for a plurality of track states, is determined from the new estimate of the posterior probability distribution for the plurality of possible assignments of the set of measurements to the set of tracks, the estimate of a posterior probability distribution for a plurality of track states, and the set of measurements. The steps of determining an estimate of a posterior probability distribution for a plurality of track states, determining a new estimate of the posterior probability distribution for the plurality of possible assignments of the set of measurements to the set of tracks, and determining a variational lower bound are iteratively repeated until the variational lower bound is less than a threshold value.

In accordance with another aspect of the present invention, a system is provided for tracking a plurality of moving objects. A sensor system is configured to provide a set of measurements representing at least respective positions of the plurality of moving objects. A track state updating component is configured to determine an estimate of a posterior probability distribution for a plurality of track states from an estimate of the posterior probability distribution for a plurality of possible assignments of the set of measurements to a set of tracks representing trajectories of the plurality of moving objects and the set of measurements. A track assignment updating component is configured to determine a new estimate of the posterior probability distribution for the plurality of possible assignments of the set of measurements to the set of tracks from the set of measurements and the estimate of a posterior probability distribution for the plurality of track states. A lower bound computation component is configured to compute a variational lower bound, representing a lower bound for the marginal probability of the set of measurements given a model defined by the new estimate of the posterior probability distribution and the estimate of a posterior probability distribution for a plurality of track states, from the new estimate of the posterior probability distribution for the plurality of possible assignments of the set of measurements to the set of tracks, the estimate of a posterior probability distribution for a plurality of track states, and the set of measurements. Each of the track state updating component, the track assignment updating component, and the lower bound computation component collectively perform an iterative determination of the posterior probability distribution for the plurality of possible assignments of the set of measurements to the set of tracks and the posterior probability distribution for a plurality of track states until the variational lower bound is less than a threshold value.

In accordance with yet another aspect of the present invention, a non-transitory computer readable medium stores executable instructions readable by an associated processor to perform a method for tracking at least respective positions of a plurality of moving objects from a set of measurements provided by an associated radar system. An estimate of a posterior probability distribution for a plurality of track states is determined from an estimate of the posterior probability distribution for a plurality of possible assignments of the set of measurements to a set of tracks representing trajectories of the plurality of moving objects and the set of measurements. The plurality of track states include a position state for each track and a metastate for each track representing an active or dormant status for the track. A new estimate of the posterior probability distribution for the plurality of possible assignments of the set of measurements to the set of tracks is determined from the set of measurements and the estimate of a posterior probability distribution for a plurality of track states. A variational lower bound, representing a lower bound for the marginal probability of the set of measurements given a model defined by the new estimate of the posterior probability distribution and the estimate of a posterior probability distribution for a plurality of track states, is determined from the new estimate of the posterior probability distribution for the plurality of possible assignments of the set of measurements to the set of tracks, the estimate of a posterior probability distribution for a plurality of track states, and the set of measurements. The steps of determining an estimate of a posterior probability distribution for a plurality of track states, determining a new estimate of the posterior probability distribution for the plurality of possible assignments of the set of measurements to the set of tracks, and determining a variational lower bound are iteratively repeated until the variational lower bound is less than a threshold value.

BRIEF DESCRIPTION OF THE DRAWINGS

The features, objects, and advantages of the invention will become more apparent from the detailed description set forth below when taken in conjunction with the drawings, wherein:

FIG. 1 illustrates a system for tracking a plurality of moving objects;

FIG. 2 illustrates one example of a method for tracking moving objects;

FIG. 3 illustrates one example of a method for estimating the posterior probability distribution for a plurality of track states;

FIG. 4 illustrates a method for generating a new estimate of the posterior probability distribution for the plurality of possible assignments of the set of measurements to the set of tracks;

FIG. 5 illustrates a method for calculating an estimate of the posterior probability distribution for the track assignment using a loopy belief propagation process; and

FIG. 6 illustrates a schematic block diagram illustrating an exemplary system of hardware components capable of implementing examples of the systems and methods disclosed in FIGS. 1-5.

DETAILED DESCRIPTION OF THE INVENTION

Most tracking algorithms treat a data association process and a filtering process as separate, alternating sequential steps. This is due to the vast number of possible data associations in situations where there are even several tracks and corresponding measurements. Data association is usually treated as a discrete optimization problem, where measurements over just a few time steps, generally no more than three, are assigned to the tracks. In the variational tracking algorithm described herein, data association and filtering are performed together to approximate the optimal state of the track given all previous data and all possible associations. To this end, a variational Bayes (VB) technique is applied to approximate the solution to a corresponding probabilistic graphical model of the tracking problem, providing an algorithm that scales linearly with the number of time steps. Current algorithms, such as multiple hypothesis trackers (MHT), instead scale exponentially with the number of time steps. With the linear scaling of the variational tracking algorithm, an approximation of the states of tens of tracks, marginalized over all possible data associations, for as many as thirty time steps, is achievable. Due to the difficulties imposed by the data association constraints, the algorithm uses a hybrid method utilizing both variational and loopy belief propagation components to make inference efficient and tractable. Further, the algorithm incorporates track management into the model itself as a series of track metastates. This allows for a significant performance gains over tradition heuristic approaches.

FIG. 1 illustrates a system 10 for tracking a plurality of moving objects. The system 10 utilizes a probabilistic tracking algorithm that incorporates combinatorial data association constraints and model-based track management using variational Bayes. A Bethe entropy approximation is used to incorporate data association constraints that are generally ignored in existing probabilistic tracking algorithms. The variational Bayes assignment posterior utilized in the system has an induced factorization over time with regard to assignment matrices, allowing the computational cost of the variational approach to be linear in window length as opposed to the exponential cost of existing approaches. Compared to existing methods, such as maximum a posterior inference (MAP), the current system utilizes a weaker approximation for the posterior distributions, but provides a significant increase in efficiency and accuracy. The system also utilizes new approximate inference methods on assignment matrices and a new conjugate assignment prior (CAP).

The system includes a sensor system 12 configured to provide a set of measurements representing at least respective positions of the plurality of moving objects. The sensor system 12 can include, for example, a camera operating in visible, infrared, or ultraviolet light, or a transceiver for receiving radio frequency or microwave radiation. In one implementation, the sensor system 12 is a radar system. To provide a starting point for the iterative analysis, an initialization component 14 is configured to initialize the posterior probability distribution for a plurality of possible assignments of the set of measurements to a set of tracks representing the moving objects. In the illustrated implementation, a default distribution with random perturbations is used.

A track state updating component 20 is configured to determine an estimate of a posterior probability distribution for a plurality of track states from an estimate of the posterior probability distribution for a plurality of possible assignments of the set of measurements to a set of tracks representing trajectories of the plurality of moving objects and the set of measurements. In the illustrated example, the track state updating component 20 updates, for each track, an associated position state and an associated metastate representing the activity or dormancy of a track, such that the track update component manages a status of the plurality of tracks. Many tracking algorithms unrealistically assume that the number of tracks is known apriori and fixed, with additional “wrapper logic” placed around the trackers to initiate and destroy tracks. This logic involves the use of heuristics such as M-of-N logic. By incorporating the track management into the track update component in a model-based manner, significant performance gains can be realized, as the system 10 simultaneously performs inference for track management, data association, and state estimation.

To this end, the track state updating component 20 includes a soft hidden Markov model (sHMM) 22 for updating the metastates of the plurality of tracks. For example, detection probabilities, representing the likelihood that the track is active at the time step, can be determined for each time step, for example, and a forward-backward algorithm, or similar analysis, can be applied to the model and the determined detection probabilities to update the metastates. For the position states, the track state updating component 20 can include a Kalman smoother 24. As part of the position state update, the track state updating component 20 can calculate a set of pseudomeasurements from a set of measurements and the estimated posterior probability distribution for a plurality of possible assignments of the set of measurements to a set of tracks. The Kalman smoother 24 can be applied to the pseudomeasurements to calculate an update for the plurality of track states.

Once the estimate of the posterior distribution for the track states is determined, is it provided to each of a track assignment updating component 30 and a lower bound computation component 40. The track assignment updating component 30 is configured to determine a new estimate of the posterior probability distribution for the plurality of possible assignments of the set of measurements to the set of tracks from the set of measurements and the estimate of a posterior probability distribution for a plurality of track states. The illustrated implementation uses a Bethe entropy approximation to incorporate the one-to-one restrictions of the track assignment process. Accordingly, the track assignment updating component 30 utilizes a loopy belief propagation (LBP) algorithm 32 to calculate the new estimate of the posterior probability distribution for the plurality of possible assignments of the set of measurements to the set of tracks. Once the estimate of the assignment posterior distribution is updated, it is provided to each of the track state updating component 20 and the lower bound computation component 40. The track state updating component 20 can then generate a new estimate for the posterior distribution for the track states using the improved estimate for the assignment posterior distribution.

The lower bound computation component 40 is configured to compute a variational lower bound, representing a lower bound for the marginal probability of the set of measurements given a model defined by the new estimate of the posterior probability distribution and the estimate of a posterior probability distribution for a plurality of track states. Each of the track state updating component 20 and the track assignment updating component 30 are responsive to the lower bound computation component 40, such that the estimates of the posterior distributions determined at these components are accepted once the lower bound falls below a threshold value. Accordingly, the track state updating component 20, the track assignment updating component 30, and the lower bound computation component 40 collectively perform an iterative determination of the posterior probability distribution for the plurality of possible assignments of the set of measurements to the set of tracks and the posterior probability for a plurality of track states until the variational lower bound is less than a threshold value.

In view of the foregoing structural and functional features described above, methods in accordance with various aspects of the present invention will be better appreciated with reference to FIGS. 2-5. While, for purposes of simplicity of explanation, the methods of FIGS. 2-5 are shown and described as executing serially, it is to be understood and appreciated that the present invention is not limited by the illustrated order, as some aspects could, in accordance with the present invention, occur in different orders and/or concurrently with other aspects from that shown and described herein. Moreover, not all illustrated features may be required to implement a method in accordance with an aspect the present invention.

FIG. 2 illustrates one example of a method 100 for tracking moving objects from a set of measurements provided by an associated sensor system. FIGS. 3-5 describe a specific implementation of the various steps 110, 130, and 150 of FIG. 2. To better describe this specific implementation, it is helpful to establish a standard notation. In this implementation, the set of measurements comprises measurements of N₁ discrete time steps, referred to as frames, where N₁ is an integer greater than one, such that each object of the plurality of objects is expected to be represented by N₁ individual measurements. Specifically, for each time step, k∈N₀, N_(z)(k)∈N₁ measurements in a matrix Z_(k)={z_(j,k)}_(j=1) ^(N) ^(z) ^((k)) are observed from both real objects and clutter (spurious measurements). In the illustrated example, z_(j,k)∈Z is a vector of position measurements in three-dimensional space. In data association, an assignment matrix A is estimated, where A_(ij)=1 if and only if track i is associated with track j. The assignment matrix is constrained such that each track can be associated with only one measurement, and each measurement can be associated with only one track, such that:

$\begin{matrix} {{{\sum\limits_{i = 0}^{N_{T}}\; A_{i\; j}} = 1},{{j \in 1}:N_{Z}},{{\sum\limits_{j = 0}^{N_{Z}}\; A_{i\; j}} = 1},\;{{i \in 1}:N_{T}},{A_{00} = 0}} & (1) \end{matrix}$

The zero indices of A∈{0,1}^(N) ^(t) ^(+1×N) ^(z) ⁺¹ are the “dummy row” and “dummy column” to represent the assignment of a measurement to clutter and the assignment of a track to a missed detection.

The inventors have determined that the cost functions utilized in the maximum a posteriori optimization (MAP) in multiple hypothesis tracking assume that a number of tracks, N_(T) is known a priori and the N_(Z) is random. The corresponding generative process on assignment matrices is therefore implemented by starting with a one-to-one mapping from measurement to tracks, A←I_(N) _(T) _(×N) _(T) , with each track observed with a probability P_(D)∈[0,1]^(N) ^(T) . Only the columns of detected tracks are kept, such that A←A(⋅,d),d_(i)˜Bernoulli (P_(D)(i)). A Poisson number of clutter measurements is sampled: A←[A,0_(N) _(Y) _(×N) _(c) ], N_(C)˜Poisson(λ). A random permutation vector, π, is used to make the order of the measurements arbitrary, A←A(⋅,π), and a dummy row and column are added to the assignment matrix to satisfy the constraints in (1). This provides a normalized prior on assignments:

$\begin{matrix} {{P\left( A \middle| P_{D} \right)} = {\lambda^{N_{c}}{{\exp\left( {- \lambda} \right)}/{N_{Z}!}}{\prod\limits_{i = 1}^{N_{T}}\;{{P_{D}(i)}^{d_{i}}\left( {1 - {P_{D}(i)}} \right)^{1 - d_{i}}}}}} & (2) \end{matrix}$

It will be appreciated that the detections d, N_(Z), and clutter measurement count, N_(c), are deterministic functions of A.

As mentioned previously, a track model for updating a plurality of track states is implemented as over K time steps, where K is a positive integer greater than one. A set of latent states, x_(1:K)∈χ^(K), follow a Markov process, while the measurements, z_(1:K)∈Z^(K), are iid conditional on the track state, such that:

$\begin{matrix} {{{p\left( {z_{1:K},x_{1:K}} \right)} = {{p\left( x_{1} \right)}{\sum\limits_{k = 2}^{K}\;{{p\left( x_{k} \middle| x_{k - 1} \right)}{\prod\limits_{k = 1}^{K}\;{p\left( z_{k} \middle| x_{k} \right)}}}}}},} & (3) \end{matrix}$

where the track and measurements indices i and/have been omitted for brevity. Although the systems and methods taught herein can be used with more general models, in the illustrated example, each track independently follows a linear system, such as a Kalman filter, such that: p(x _(k) |x _(k−1))=

(x _(k) |Fx _(k−1) ,Q),p(z _(k) |x _(k))=

(z _(k) |Hx _(k) ,R)  (4)

The track states can be augmented with a Markov model with an active/dormant metastate, s_(k), in a 1-in-N encoding to address track management, such that:

$\begin{matrix} {{{P\left( s_{1:K} \right)} = {{P\left( s_{1} \right)}{\prod\limits_{k = 2}^{K}\;{P\left( s_{k} \middle| s_{k - 1} \right)}}}},{s_{k} \in {\left\{ {0,1} \right\}^{N_{S}}.}}} & (5) \end{matrix}$

This model allows the system to handle an unknown number of tracks by making N_(T) arbitrarily large. The detection probability, P_(D), is now a function of s with a very small P_(D) in the dormant state and a larger P_(D) in the active state. Extensions with a larger number of states N_(S) can be implemented using the teachings provided herein. The collection of track metastates over all tracks at frame k are referred to herein as S_(k):={s_(i,k)}_(i=1) ^(N) ^(T) , and likewise, X_(k):={x_(i,k)}_(i=1) ^(N) ^(T) .

Combining the assignment process and track models to get the full model joint:

$\begin{matrix} {{{p\left( {Z_{1:K},X_{1:K},A_{1:K},S_{1:K}} \right)} = {{\prod\limits_{k = 1}\;{{p\left( {\left. Z_{k} \middle| X_{k} \right.,A_{k}} \right)}{p\left( X_{k} \middle| X_{k - 1} \right)}{P\left( S_{k} \middle| S_{k - 1} \right)}{P\left( A_{k} \middle| S_{k} \right)}}} = {\prod\limits_{k = 1}^{K}\;{{P\left( A_{k} \middle| S_{k} \right)} \cdot {\prod\limits_{i = 1}^{N_{T}}\;{{p\left( x_{i,k} \middle| x_{i,{k - 1}} \right)}{{P\left( s_{i,k} \middle| s_{i,{k - 1}} \right)} \cdot {\prod\limits_{j = 1}^{N_{Z}{(k)}}\;{{p_{0}\left( z_{j,k} \right)}^{A_{o\; j}^{k}}{\prod\limits_{i = 1}^{N_{T}}\;{p\left( {\left. z_{j,k} \middle| x_{i,k} \right.,{A_{i\; j}^{k} = 1}} \right)}^{A_{i\; j}^{k}}}}}}}}}}}},} & (6) \end{matrix}$

where p₀ is the clutter distribution, which is often a uniform distribution. The traditional goal in tracking is to compute p(X_(k)|Z_(1:k)), the exact computation of which is intractable due to the “combinatorial explosion” in summing out the assignments A_(1:k). The methods presented herein provide an improved approximation of p(X_(k)|Z_(1:k)).

To compute the posterior, P(A|Z), it is helpful to determine what conjugate priors on A are possible. Deriving approximate inference procedures is often greatly simplified if the prior on the parameters is conjugate to the complete data likelihood: p(Z, X|A). The conjugate prior for an exponential family (EF) complete likelihood can be derived as:

$\begin{matrix} {{{p\left( {Z,\left. X \middle| A \right.} \right)} = {{\prod\limits_{j = 1}^{N_{Z}}\;{{p_{0}\left( z_{j} \right)}^{A_{0\; j}}{\prod\limits_{i = 1}^{N_{T}}\;{{p\left( {\left. z_{j} \middle| x_{i} \right.,{A_{i\; j} = 1}} \right)}^{A_{i\; j}}{\prod\limits_{i = 1}^{N_{T}}{p\left( x_{i} \right)}}}}}} = {\prod\limits_{i = 1}^{N_{T}}{{p\left( x_{i} \right)}{\exp\left( {1^{\top}\left( {A \odot L} \right)1} \right)}}}}},\mspace{79mu}{L_{i\; j}:={\log\;{p\left( {\left. z_{j} \middle| x_{i} \right.,{A_{i\; j} = 1}} \right)}}},{L_{i\; 0}:=0},{L_{0\; j}:={\log\;{p_{0}\left( z_{j} \right)}}},} & (7) \end{matrix}$

where the matrix L∈

^(N) ^(T) ^(+1×N) ^(Z) ⁺¹ represents log likelihood contributions from various assignments. The set of log likelihood values can include contributions from at least one likelihood value associated with a non-kinematic feature, such that as a radar cross-section. This gives the following exponential family quantities: base measure

${{h\left( {Z,X} \right)} = {\prod\limits_{i = 1}^{N_{T}}\;{p\left( x_{i} \right)}}},$ partition function g(A)=1, natural parameters η(A)=vec A, and sufficient statistics S(Z, X)=vec L. This implies the conjugate assignments prior (CAP) for P(A|χ):

$\begin{matrix} {{{C\; A\;{P\left( A \middle| \chi \right)}}:={{S(\chi)}^{- 1}{\mathbb{I}}\left\{ {A \in \;}\; \right\}{\exp\left( {1^{\top}\left( {\chi \odot A} \right)1} \right)}}},{{S(\chi)}:={\;{\exp\left( {1^{\top}\left( {\chi \odot A} \right)1} \right)}}},} & (8) \end{matrix}$

where

is the set of all assignment matrices that obey the one-to-one constraints in (1). Note that χ is a function of the track metastates S. The assignment prior of (2) can be recovered in the form of the CAP distribution of (8) via the following parameter settings, with σ(⋅) denoting the logistic:

$\begin{matrix} {{\chi_{i\; j} = {{\log\left( \frac{P_{D}(i)}{\left( {1 - {P_{D}(i)}} \right)\lambda} \right)} = {{\sigma^{- 1}\left( {P_{D}(i)} \right)} - {\log\;\lambda}}}},{i \in {1\text{:}\mspace{14mu} N_{T}}},{j \in {1\text{:}\mspace{14mu} N_{Z}}},{\lambda_{0\; j} = {\lambda_{i\; 0} = 0.}}} & (9) \end{matrix}$

Due of the symmetries in the prior of (9), the CAP distribution of (8) can be analytically normalized in this instance:

$\begin{matrix} {{S(\chi)}^{- 1} = {{P\left( {A_{{1\text{:}N_{T}},{1\text{:}N_{Z}}} = 0} \right)} = {{{Poisson}\left( N_{Z} \middle| \lambda \right)}{\prod\limits_{i = 1}^{N_{T}}\;\left( {1 - {P_{D}(i)}} \right)}}}} & (10) \end{matrix}$

Given that the dummy row and columns of χ are zero in (9), the normalization of equation (10) allows the CAP distribution of (8) to match (2) for the 0 assignment case.

Although the conjugate prior (8) allows for “computation” of the posterior, χ_(posterior)=χ_(prior)+L=prior+L, computing

[A] or S(χ) remains difficult. As will be explained in detail below, the illustrated example utilizes a loopy belief propagation algorithm to facilitate this determination.

The improved variational tracker of the illustrated method enforces the factorization constraint that the posterior factorizes across assignment matrices and latent track states: p(A _(1:K) ,X _(1:K) ,S _(1:K) |Z _(1:K))≈q(A _(1:K) ,X _(1:K) ,S _(1:K))=(A _(1:K))q(X _(1:K) ,S _(1:K))  (11)

In this formation, A can be conceptualized as the parameters and X and S can be conceptualized as the latent variables, and these two groups of variables can be factorized, giving a variational lower bound:

(q)=

_(q)[log(Z _(1:K) ,X _(1:K) ,A _(1:K) ,S _(1:K))]+H[q(X _(1:K) ,S _(1:K))]+H[q(A _(1:K))]  (12)

where H[⋅] represents the Shannon entropy. From the variational Bayes lower bound in (12) and the model in (6), an induced factorization can be determined without further approximation:

$\begin{matrix} {{{q\left( A_{1:K} \right)} = {\prod\limits_{k = 1}^{K}\;{q\left( A_{k} \right)}}},{{q\left( {X_{1:K},S_{1:K}} \right)} = {\prod\limits_{i = 1}^{N_{T}}\;{{q\left( {x_{i},.} \right)}{q\left( {s_{i},.} \right)}}}}} & (13) \end{matrix}$

It can be noted that the approximate posterior on assignment matrices factorizes over time, and the approximate posterior on latent states factorizes across tracks.

-   -   At 110, an estimate of a posterior probability distribution is         determined for a plurality of track states from an estimate of         the posterior probability distribution for a plurality of         possible assignments of the set of measurements to a set of         tracks representing trajectories of the plurality of moving         objects and the set of measurements. It will be appreciated that         the method is iterative, such that an estimate of the posterior         probability distribution for the plurality of possible         assignments will usually be available from a previous step in         the method. For the first step of the method, however, it will         be necessary to generate an initial distribution. To this end,         an estimate of the posterior probability distribution for the         plurality of possible assignments can be initialized as a         default distribution with random perturbations before the method         100 begins.

FIG. 3 illustrates one example of a method 110 for estimating the posterior probability distribution for a plurality of track states. In the illustrated example, the updates for the track states, x_(i), and the metastates, s_(i), can be determined from the induced factorization in (13), and each update can be derived separately. Accordingly, the method begins at 112, where a next track is selected. It will be appreciated, of course, that in a first iteration of the method, the selected “next” track will be a first track. The method 110 then proceeds to 114, where a next time step, or frame, is selected. Again, in a first iteration for each track, the selected time step is a first time step.

At 116, a pseudomeasurement is calculated for the selected time step from a set of measurements and the estimated posterior probability distribution for a plurality of possible assignments of the set of measurements to a set of tracks. The variational updates for the track states representing position, x_(i), can be expressed as follows, denoting equality to within an additive constant with

:

$\begin{matrix} {{\log\;{q\left( {x_{i},.} \right)}}\overset{c}{=}{{\log\;{p\left( {x_{i},.} \right)}} + {\sum\limits_{k = 1}^{K}\;{\sum\limits_{j = 1}^{N_{Z}{(k)}}\;{{{\mathbb{E}}\left\lbrack A_{ij}^{k} \right\rbrack}\log\;{\mathcal{N}\left( {\left. z_{j,k} \middle| {Hx}_{i,k} \right.,R} \right)}}}}}} & (14) \\ {\left. \Longrightarrow{q\left( {x_{i},.} \right)} \right. \propto {{p\left( {x_{i},.} \right)}{\prod\limits_{k = 1}^{K}\;{\prod\limits_{j = 1}^{N_{Z}{(k)}}\;{{\mathcal{N}\left( {\left. z_{j,k} \middle| {Hx}_{i,k} \right.,{R/{{\mathbb{E}}\left\lbrack A_{ij}^{k} \right\rbrack}}} \right)}.}}}}} & (15) \end{matrix}$

Using (6), this can be shown to proportional to:

$\begin{matrix} {{{{q\left( {x_{i},.} \right)} \propto {{p\left( {x_{i},.} \right)}{\prod\limits_{k = 1}^{K}\;{\mathcal{N}\left( {\left. {\overset{\sim}{z}}_{i,k} \middle| {Hx}_{i,k} \right.,{R/{{\mathbb{E}}\left\lbrack d_{i,k} \right\rbrack}}} \right)}}}},{{\overset{\sim}{z}}_{i,k}:={\frac{1}{{\mathbb{E}}\left\lbrack d_{i,k} \right\rbrack}{\sum\limits_{j = 1}^{N_{\mathfrak{Z}}}\;{{{\mathbb{E}}\left\lbrack A_{ij}^{k} \right\rbrack}z_{j,k}}}}},{with}}{{\mathbb{E}}\left\lbrack d_{i,k} \right\rbrack} = {{1 - {{\mathbb{E}}\left\lbrack A_{i\; 0}^{k} \right\rbrack}} = {\sum\limits_{j = 1}^{N_{z}}\;{{\mathbb{E}}\left\lbrack A_{ij}^{k} \right\rbrack}}}} & (16) \end{matrix}$

In addition to the pseudomeasurements, {tilde over (z)}_(i,k) detection probabilities, P_(D), representing the likelihood that the track is active at the time step, can also be determined for each time step. The system then determines at 118 if values have been calculated for all time steps. If not (N), the method returns to 114 to select a next time step. Otherwise (Y), the method advances to 120, where a track state for the selected track is determined from the pseudomeasurements for each track. The form of the posterior, q(x_(i), .), is equivalent to a linear dynamic system with pseudomeasurements, {tilde over (z)}_(i,k), and non-stationary measurement covariance R/

[d_(i,k)]. Accordingly, in the illustrated implementation, the state update, q(x_(i), .), can be determined via a Kalman smoothing process.

At 122, a track metastate for each track is determined from the calculated probabilities for each track. The posterior on the track metastates can be expressed as:

$\begin{matrix} {{{\log\;{q\left( {s_{i},.} \right)}}\overset{c}{=}{{{\log\;{P\left( {s_{i},.} \right)}} + {\sum\limits_{h = 1}^{K}\;{{\mathbb{E}}_{q{(A_{k})}}\left\lbrack {\log\;{P\left( A_{k} \middle| S_{k} \right)}} \right\rbrack}}}\overset{c}{=}{{\log\;{P\left( {s_{i},.} \right)}} + {\sum\limits_{k = 1}^{K}\;{s_{i,k}^{\top}l_{i,k}}}}}},} & (17) \\ {{{l_{i,k}(s)}:={{{{\mathbb{E}}\left\lbrack d_{i,k} \right\rbrack}{\log\left( {P_{D}(s)} \right)}} + {\left( {1 - {{\mathbb{E}}\left\lbrack d_{i,k} \right\rbrack}} \right){\log\left( {1 - {P_{D}(s)}} \right)}}}},{s \in {1\text{:}N_{S}}}} & (18) \\ {\mspace{79mu}{{\left. \Longrightarrow{q\left( {s_{i},.} \right)} \right. \propto {{P\left( {s_{i},.} \right)}{\prod\limits_{k = 1}^{K}\;{\exp\left( {s_{i,k}^{\top}l_{i,k}} \right)}}}},}} & (19) \end{matrix}$

when (18) follows from (2), above. If P(s_(i), .) follows a Markov chain, then the form for q(s_(i), .) is the same as a hidden Markov model (HMM) with emission log likelihoods l_(i,k) ∈[

⁻]^(N) ^(s) . Therefore, the metastate posterior q(s_(i), .) update can be implemented via a forward-backward inference algorithm on the calculated probabilities PD. The algorithm works in an online fashion using a sliding window. The system then determines at 124 if track states have been updated for all tracks. If not (N), the method returns to 112 to select a next track. Otherwise (Y), the method terminates, returning the posterior probability distribution for a plurality of track states.

Returning to FIG. 2, at 130, a new estimate of the posterior probability distribution for the plurality of possible assignments of the set of measurements to the set of tracks is determined from the set of measurements and the estimate of a posterior probability distribution for a plurality of track states. FIG. 4 illustrates a method 130 for generating a new estimate of the posterior probability distribution for the plurality of possible assignments of the set of measurements to the set of tracks. At 132, a next time step is selected. It will be appreciated, of course, that in a first iteration of the method, the selected next time step will be a first time step. The method 130 then proceeds to 134, where a next track is selected. Again, in a first iteration for each time step, the selected track is a first track.

At 136, expected sufficient statistics, E_(q(Ak)) [L_(k)], are calculated for the selected track and time step from a set of likelihood values. At 138, an expected value for a track state associated with the selected track at the selected time step, E_(q(S) _(i) ₎[χ_(k)], is calculated from the expected sufficient statistics for that time step. For example, χ_(k) can be calculated using (9) above. It is then determined at 140 if all of the tracks have been evaluated for the selected time step. If not (N), the method returns to 134 to select a next track.

Otherwise, the method advances to 142, where a new value for the distribution parameters, χ′_(k), are calculated from the expected values for the track states for that time step and the expected sufficient statistics, such that χ′_(k)←E[χ_(k)]+E[L_(k)]. At 144, the new estimate of the posterior probability distribution for the plurality of possible assignments of the set of measurements to the set of tracks from distribution parameters. Exact updates for the assignment matrix under the lower bound yields a product of CAP distributions:

$\begin{matrix} {{q\left( A_{1:K} \right)} = {\prod\limits_{k = 1}^{K}\;{{{CAP}\left( A_{k} \middle| {{{\mathbb{E}}_{q{(x_{k})}}\left\lbrack L_{k} \right\rbrack} + {{\mathbb{E}}_{q{(s_{k})}}\left\lbrack \chi_{k} \right\rbrack}} \right)}.}}} & (20) \end{matrix}$

To obtain a tractable algorithm, a loopy belief propagation algorithm can be used to compute

_(q(A) _(k) ₎ [A_(k)], for use in (16) and (19), above. The CAP distribution from (8) can be represented as a factor graph:

$\begin{matrix} {{{{CAP}\left( A \middle| \chi \right)} \propto {\prod\limits_{i = 1}^{N_{T}}\;{{f_{i}^{R}\left( {A_{i}.} \right)}{\prod\limits_{j = 1}^{N_{z}}\;{{f_{j}^{C}\left( {A._{j}} \right)}{\prod\limits_{i = 0}^{N_{T}}\;{\prod\limits_{j = 0}^{N_{Z}}\;{f_{ij}^{S}\left( A_{ij} \right)}}}}}}}},{{{with}\mspace{14mu}{f_{i}^{R}(v)}}:={{\mathbb{I}}\left\{ {{\sum\limits_{i = 0}^{N_{z}}\; v_{j}} = 1} \right\}\mspace{14mu}\left( {R\mspace{14mu}{for}\mspace{14mu}{now}\mspace{14mu}{factors}} \right)}},{{f_{i}^{C}(v)}:={{\mathbb{I}}\left\{ {{\sum\limits_{i = 0}^{N_{T}}\; v_{i}} = 1} \right\}}}} & (21) \end{matrix}$ (C for column vectors), and f_(ij) ^(S)(ν):

exp (χ_(ij)ν). Reparameterization methods are applied to convert this factor graph to a pairwise factor graph, where derivation of a Bethe free energy is facilitated. The Bethe free entropy is:

$\begin{matrix} \begin{matrix} {{H_{\beta}\left\lbrack {q(A)} \right\rbrack}:={{\sum\limits_{i = 1}^{N_{T}}\;{\sum\limits_{j = 0}^{N_{Z}}\;{H\left\lbrack {q\left( {r_{i},A_{ij}} \right)} \right\rbrack}}} + {\sum\limits_{j = 1}^{N_{Z}}\;{\sum\limits_{i = 0}^{N_{T}}\;{H\left\lbrack {q\left( {c_{j},A_{ij}} \right)} \right\rbrack}}} -}} \\ {{\sum\limits_{i = 1}^{N_{T}}\;{N_{Z}{H\left\lbrack {q\left( r_{i} \right)} \right\rbrack}}} - {\sum\limits_{j = 1}^{N_{Z}}\;{N_{T}{H\left\lbrack {q\left( c_{j} \right)} \right\rbrack}}} - {\sum\limits_{i = 1}^{N_{T}}\;{\sum\limits_{j = 1}^{N_{Z}}\;{H\left\lbrack {q\left( A_{ij} \right)} \right\rbrack}}}} \\ {{= {{\sum\limits_{i = 1}^{N_{T}}\;{H\left\lbrack {q\left( {A_{i}.} \right)} \right\rbrack}} + {\sum\limits_{j = 1}^{N_{Z}}\;{H\left\lbrack {q\left( {A._{j}} \right)} \right\rbrack}} - {\sum\limits_{i = 1}^{N_{T}}\;{\sum\limits_{j = 1}^{N_{Z}}\;{H\left\lbrack {q\left( A_{ij} \right)} \right\rbrack}}}}},(23)} \end{matrix} & (22) \end{matrix}$

where the pairwise conversion uses constrained auxiliary variables r_(i):=A_(i) and c_(j):=A_(j) and the implied relations H[q(r _(i) ,A _(ij))]=H[q(r _(i))]+H[q(A _(ij) |r _(i))]=H[q(r _(i))]=H[q(A _(i).)].

The method 130 uses an altered variational lower bound,

_(β)(q), which replaces the entropy H[q(A_(k))] with H_(β)[q(A_(k))]². It will be appreciated that

${\mathcal{L}_{\beta}(q)}\overset{c}{=}{\mathcal{L}(q)}$ with respect to q(X_(i:K), S_(1:K)) which implies that the state posterior updates under the old lower bound in (16) and (19) remain unchanged under the new lower bound. To get the update equations for q(A_(k)), the new lower bound is expressed in terms of q(A_(1:K)), such that:

$\begin{matrix} {{\mathcal{L}_{\beta}(q)}\overset{c}{=}{{{\mathbb{E}}_{q}\left\lbrack {\log\;{p\left( {\left. Z_{1:K} \middle| X_{1:K} \right.,A_{1:K}} \right)}} \right\rbrack} + {{\mathbb{E}}_{q}\left\lbrack {\log\;{P\left( A_{1:K} \middle| S_{1:K} \right)}} \right\rbrack} +}} & {(24)} \\ {\sum\limits_{k = 1}^{K}\;{H_{\beta}\left\lbrack {q\left( A_{k} \right)} \right\rbrack}} & \; \\ {\overset{c}{=}{{\sum\limits_{k = 1}^{K}\;{{\mathbb{E}}_{q{(A_{k})}}\left\lbrack {1^{\top}\left( {A_{k} \odot \left( {{{\mathbb{E}}_{q{(x_{k})}}\left\lbrack L_{k} \right\rbrack} + {{\mathbb{E}}_{q{(s_{k})}}\left\lbrack \chi_{k} \right\rbrack}} \right)} \right)1} \right\rbrack}} +}} & {(25)} \\ {\sum\limits_{k = 1}^{K}\;{H_{\beta}\left\lbrack {q\left( A_{k} \right)} \right\rbrack}} & \\ {\overset{c}{=}{{\sum\limits_{k = 1}^{K}\;{{\mathbb{E}}_{q{(A_{k})}}\left\lbrack {\log\;{{CAP}\left( A_{k} \middle| {{{\mathbb{E}}_{q{(x_{k})}}\left\lbrack L_{k} \right\rbrack} + {{\mathbb{E}}_{q{(s_{k})}}\left\lbrack \chi_{k} \right\rbrack}} \right)}} \right\rbrack}} +}} & {(26)} \\ {{H_{\beta}\left\lbrack {q\left( A_{k} \right)} \right\rbrack}.} &  \end{matrix}$

This corresponds to the Bethe free energy of the factor graph described in (21), with

[L_(k)]+

[χ_(k)] as the CAP parameter. Therefore, the estimate of the posterior probability distribution for the track assignment can be determined using loopy belief propagation.

FIG. 5 illustrates a method 150 for calculating an estimate of the posterior probability distribution for the track assignment using a loopy belief propagation process. At 152, the distribution parameters, χ_(k), at for each time step, are conditioned, with the columns normalized in log scale and values below a threshold value clipped at the threshold value (e.g., −25). At 154, initial row and column quantities, μ and ν, are initialized to random values to break symmetry. Specifically, the row and column quantities are defined as;

$\begin{matrix} {{{\mu_{ij}^{R}:={msg}_{f_{i}^{R}\rightarrow A_{ij}}},{\mu_{ij}^{C}:={msg}_{f_{j}^{C}\rightarrow A_{ij}}},{v_{ij}^{R}:={msg}_{A_{ij}\rightarrow f_{i}^{R}}},{v_{ij}^{C}:={msg}_{A_{ij}\rightarrow f_{j}^{C}}}}{{{v_{ij}^{R}(x)} = {{\mu_{ij}^{C}(x)}{f_{ij}^{S}(x)}}},{{\mu_{ij}^{R}(1)} = {\prod\limits_{k \neq j}\;{v_{ik}^{R}(0)}}},{{\mu_{ij}^{R}(0)} = {\sum\limits_{l \neq j}\;{{v_{il}^{R}(1)}{\prod\limits_{{k \neq j},l}\;{v_{ik}^{R}(0)}}}}},}} & (27) \end{matrix}$

where all of the messages form functions in {0, 1}→

⁺. This formulation exploits the fact that there is only one non-zero value in the row A_(i).

At 156, the row and column values are updated using the distribution parameters, χ_(k). It can be noted from (27) that:

$\begin{matrix} {{{\mu_{ij}^{R}(1)} = {{\prod\limits_{k = 0}^{N_{Z}}\;{{v_{ik}^{R}(0)}/\left. {v_{ij}^{R}(0)}\Longrightarrow{\overset{\sim}{\mu}}_{ij}^{R} \right.}}:={\frac{\mu_{ij}^{R}(0)}{\mu_{ij}^{R}(1)} = {{{\sum\limits_{l = 0}^{N_{Z}}\;\frac{v_{il}^{R}(1)}{v_{il}^{R}(0)}} - \frac{v_{ij}^{R}(1)}{v_{ij}^{R}(0)}} \in {\mathbb{R}}^{+}}}}},} & (28) \end{matrix}$

The ratio of the messages to the row factors can then be expressed as: {tilde over (ν)}_(ij) ^(R):=ν_(ij) ^(R)(1)/ν_(ij) ^(R)(0)=(μ_(ij) ^(C)(1)/μ_(ij) ^(C)(0))exp(λ_(ij))∈

⁺  (29)

The relations in (27)-(29) can be applied to the column messages to acquire a message passing update scheme in terms of message ratios:

$\begin{matrix} {{{\overset{\sim}{\mu}}_{ij}^{R} = {{\sum\limits_{l = 0}^{N_{Z}}\;{\overset{\sim}{v}}_{il}^{R}} - {\overset{\sim}{v}}_{ij}^{R}}},{{\overset{\sim}{v}}_{ij}^{R} = \frac{\exp\left( \chi_{ij} \right)}{{\overset{\sim}{\mu}}_{ij}^{C}}},{{\overset{\sim}{\mu}}_{ij}^{C} = {{\sum\limits_{l = 0}^{N_{T}}\;{\overset{\sim}{v}}_{lj}^{C}} - {\overset{\sim}{v}}_{ij}^{C}}},{{\overset{\sim}{v}}_{ij}^{C} = \frac{\exp\left( \chi_{ij} \right)}{{\overset{\sim}{\mu}}_{ij}^{R}}}} & (30) \end{matrix}$

Once the row and column values from the loopy belief propagation have been updated, the lower Bethe free energy is calculated at 158, for example, via the relation shown in (26) above. At 160, it is determined if the calculated free energy is below a threshold value. If not (N), the method 150 returns to 156 to update the row and column values. If so (Y), at 162 the marginal distributions for the track assignment are calculated by normalizing the product of the incoming messages to each variable, such that:

[A _(ij)]=P(A _(ij)=1)=σ(χ_(ij)−log {tilde over (μ)}_(ij) ^(R)−log {tilde over (μ)}_(ij) ^(C))

Returning to FIG. 4, once the loopy belief propagation algorithm has finished for a given time step, it is determined at 146 if marginal distributions have been updated for all time steps. If not (N), the method returns to 132 to select a next time step. Otherwise (Y), the method terminates, returning the posterior probability distribution for the track assignment.

Returning to FIG. 2, once the posterior distributions for the track states and the track assignment have been determined, the method advances to 160, where a variational lower bound is calculated from the new estimate of the posterior probability distribution for the plurality of possible assignments of the set of measurements to the set of tracks, the estimate of a posterior probability distribution for a plurality of track states, and the set of measurements. The variational lower bound represents a lower hound for the marginal probability of the set of measurements given a model defined by the new estimate of the posterior probability distribution and the estimate of a posterior probability distribution for a plurality of track states. For example, the variational lower bound can be calculated using the relation in (12).

At 170, it is determined if the calculated variational lower bound is less than a threshold value. If not (N), the method returns to 110 to update the estimate of the posterior distribution of the track states using the new estimate for the posterior distribution of the track assignment. If so (Y), the method terminates and returns the current estimates for the track state and track assignment distributions.

FIG. 6 is a schematic block diagram illustrating an exemplary system 200 of hardware components capable of implementing examples of the systems and methods disclosed in FIGS. 1-5. The system 200 can include various systems and subsystems. The system 200 can be a personal computer, a laptop computer, a workstation, a computer system, an appliance, an application-specific integrated circuit (ASIC), a server, a server blade center, a server farm, etc.

The system 200 can includes a system bus 202, a processing unit 204, a system memory 206, memory devices 208 and 210, a communication interface 212 (e.g., a network interface), a communication link 214, a display 216 (e.g., a video screen), and an input device 218 (e.g., a keyboard and/or a mouse). The system bus 202 can be in communication with the processing unit 204 and the system memory 206. The additional memory devices 208 and 210, such as a hard disk drive, server, stand-alone database, or other non-volatile memory, can also be in communication with the system bus 202. The system bus 202 interconnects the processing unit 204, the memory devices 206-210, the communication interface 212, the display 216, and the input device 218. In some examples, the system bus 202 also interconnects an additional port (not shown), such as a universal serial bus (USB) port.

The processing unit 204 can be a computing device and can include an application-specific integrated circuit (ASIC). The processing unit 204 executes a set of instructions to implement the operations of examples disclosed herein. The processing unit can include a processing core.

The additional memory devices 206, 208 and 210 can store data, programs, instructions, database queries in text or compiled form, and any other information that can be needed to operate a computer. The memories 206, 208 and 210 can be implemented as computer-readable media (integrated or removable) such as a memory card, disk drive, compact disk (CD), or server accessible over a network. In certain examples, the memories 206, 208 and 210 can comprise text, images, video, and/or audio, portions of which can be available in formats comprehensible to human beings.

Additionally or alternatively, the system 200 can access an external data source or query source through the communication interface 212, which can communicate with the system bus 202 and the communication link 214.

In operation, the system 200 can be used to implement one or more parts of n object tracking system using variational tracking. Computer executable logic for implementing the system resides on one or more of the system memory 206, and the memory devices 208, 210 in accordance with certain examples. The processing unit 204 executes one or more computer executable instructions originating from the system memory 206 and the memory devices 208 and 210. The term “computer readable medium” as used herein refers to a medium that participates in providing instructions to the processing unit 204 for execution, and can include either a single medium or multiple non-transitory media operatively connected to the processing unit 204.

The invention has been disclosed illustratively. Accordingly, the terminology employed throughout the disclosure should be read in an exemplary rather than a limiting manner. Although minor modifications of the invention will occur to those well versed in the art, it shall be understood that what is intended to be circumscribed within the scope of the patent warranted hereon are all such embodiments that reasonably fall within the scope of the advancement to the art hereby contributed, and that that scope shall not be restricted, except in light of the appended claims and their equivalents. 

Having described the invention, we claim:
 1. A system for tracking a plurality of moving objects comprising: a sensor system configured to provide a set of measurements representing at least respective positions of the plurality of moving objects; a track state updating component configured to determine an estimate of a posterior probability distribution for a plurality of track states from an estimate of the posterior probability distribution for a plurality of possible assignments of the set of measurements to a set of tracks representing trajectories of the plurality of moving objects and the set of measurements; a track assignment updating component configured to determine a new estimate of the posterior probability distribution for the plurality of possible assignments of the set of measurements to the set of tracks from the set of measurements and the estimate of a posterior probability distribution for a plurality of track states; and a lower bound computation component configured to compute a variational lower bound, representing a lower bound for a marginal probability of the set of measurements given a model defined by the new estimate of the posterior probability distribution for the plurality of possible assignments of the set of measurements to the set of tracks and the estimate of the posterior probability distribution for a plurality of track states, from the new estimate of the posterior probability distribution for the plurality of possible assignments of the set of measurements to the set of tracks, the estimate of a posterior probability distribution for a plurality of track states, and the set of measurements; wherein each of the track state updating component, the track assignment updating component, and the lower bound computation component collectively perform an iterative determination of the posterior probability distribution for the plurality of possible assignments of the set of measurements to the set of tracks and the posterior probability distribution for a plurality of track states until the variational lower bound is less than a threshold value.
 2. The system of claim 1, further comprising an initialization component configured to initialize the estimate of the posterior probability distribution for the plurality of possible assignments of the set of measurements to the set of tracks, utilized at the track state updating component, as a default distribution with a plurality of random perturbations.
 3. The system of claim 1, wherein the plurality of track states include, for each track, an associated position state and an associated metastate representing the activity or dormancy of a track, such that the track update component manages a status of the plurality of tracks.
 4. The system of claim 3, wherein the track update component comprises a soft hidden Markov model, the metastates of the plurality of tracks being updated via the soft hidden Markov model.
 5. The system of claim 1, wherein the track update component comprises a Kalman smoother configured to calculate an update for the plurality of track states from a set of computed pseudomeasurements.
 6. The system of claim 1, wherein the track assignment updating component is configured to calculate the new estimate of the posterior probability distribution for the plurality of possible assignments of the set of measurements to the set of tracks comprising a loopy belief propagation algorithm.
 7. The system of claim 1, wherein the sensor system comprises a radar system. 